package com.sxj.corejava.code07_面向对象.多态与常量;

/**
 * @author 石小俊
 * 2024年07月16日 13:30
 */
public class Test03_final关键字 {

    public static void main(String[] args) {
        final int i = 1;
        // 当变量被final修饰之后,该变量的值不能发生变化
        // 此时我们可以称之为常量
        // 因此,下面代码出现了报错
        // i = 10;
        System.out.println(new Student().sum(1,2));
    }
}
class Student{
    // 当方法被final修饰之后,该方法不能被子类重写
    public final void show(){
        System.out.println("这是show方法");
    }

    public int sum(final int i, int j){
        // 当方法参数被final修饰之后,该参数在方法中不能被修改
        // i = i + j;
        return i+j;
    }

}
// 当类被final所修饰之后,该类不能被继承
final class Middle extends Student{

    // 由于父类方法被final所修饰了
    // 因此,此时不能重写show方法
    //public void show() {
    //    System.out.println("这是子类方法");
    //}
}
// 由于父类Middle被final修饰了
// 因此,此时该类不能继承Middle
//class SomeClass extends Middle{
//
//}